package com.marvels.approve.common.service;

import java.util.List;

import com.marvels.approve.loan.dto.McptConsultingFeeDTO;
import com.marvels.approve.loan.dto.McptProductTypeDto;
import com.marvels.approve.loan.dto.McptRateDTO;
import com.marvels.approve.loan.dto.McptRiskFeeDTO;
import com.marvels.approve.process.dto.McptManagementFeeDTO;
import com.marvels.approve.process.dto.McptProduct;
import com.marvels.approve.process.dto.McptProductFundRelationDto;
import com.marvels.approve.process.dto.McptProductInfoDTO;

public interface ProductConsumerService {
	/**
	 * 根据产品获取获取最小贷款金额
	 * @param ProductCode
	 * @return
	 */
	public McptProductTypeDto getProductType(String  ProductCode);
	
	
	/**
	 * 根据产品获取产品类型
	 * @param ProductCode
	 * @return
	 */
	public McptProduct getProduct(String  ProductCode);
	/**
	 * 获取风险金
	 * @param riskFeeId
	 * @return
	 */
	public McptRiskFeeDTO getEntityByPrimaryKey(Long riskFeeId);
	
	/**
	 * 获取管理费
	 * @param managementFeeId
	 * @return
	 */
	public McptManagementFeeDTO getMngfee(Long managementFeeId);
	/**
	 * 获取咨询费
	 * @param consultingFeeId
	 * @return
	 */
	public McptConsultingFeeDTO getConsultingFee(Long consultingFeeId);
	/**
	 * 获取利率
	 * @param rateId
	 * @return
	 */
	public McptRateDTO getInterestRate(Long rateId);
	
	/**
	 * 获取产品资金源
	 * @param mcpdto
	 * @return
	 */
	public List<McptProductFundRelationDto> getProductFundingSource(McptProductFundRelationDto mcpdto);
	
	/**
	 * 查询产品类别信息
	 * @param mcpdto
	 * @return
	 */
	public List<McptProductInfoDTO> selectProductInfo(McptProductInfoDTO mcpdto);
}
